#include<bits/stdc++.h>
using namespace std;
int n,a[100009],b[100009],c[19],ans,T;
void dfs(int x){
    if(x>n){
        int u=0,v=0,sum=0;
        for(int i=1;i<=n;i++){
            if(b[i]==1){
                if(a[i]==a[u]){
                    sum+=a[i];
                }u=i;
            }else{
                if(a[i]==a[v]){
                    sum+=a[i];
                }v=i;
            }
        }ans=max(ans,sum);
        return ;
    }b[x]=1;
    dfs(x+1);
    b[x]=2;
    dfs(x+1);
}void dfs2(int x){
    if(x>10){
        for(int i=1;i<=n;i++){
            b[i]=c[a[i]];
        }int u=0,v=0,sum=0;
        for(int i=1;i<=n;i++){
            if(b[i]==1){
                if(a[i]==a[u]){
                    sum+=a[i];
                }u=i;
            }else{
                if(a[i]==a[v]){
                    sum+=a[i];
                }v=i;
            }
        }ans=max(ans,sum);
        return ;
    }c[x]=1;
    dfs2(x+1);
    c[x]=2;
    dfs2(x+1);
}int main(){
    freopen("color.in","r",stdin);
    freopen("color.out","w",stdout);
    cin>>T;
    while(T--){
        ans=0;
        scanf("%d",&n);
        for(int i=1;i<=n;i++){
            scanf("%d",&a[i]);
        }if(n<=15){
            dfs(1);
        }else{
            dfs2(1);
        }printf("%d\n",ans);
    }return 0;
}
